import java.util.Random;

// 数组
public class ArrayCoop {
    public static void main(String[] args) {
        // 数据类型 char(2B) byte(1B=8bit) short(2B) int(4B) long(8B) float(8B) double(16B) boolean(1B)
        // 数组
        int[] nums1 = new int[10]; // 长度为10的数组，默认全是0
        int[] nums2 = new int[] {1,2,3,4,5}; // 长度为5的数组
        int[] num3 = {1,2,3,4,5}; // 长度为5的数组

        // 访问元素
        int randNum = new Random().nextInt(5); // 有参数为上界 [0-5)
        System.out.println(nums2[randNum]); // 访问数组

        // 插入元素  (在下表为1的位置插入一个6),需要先移动后面的元素，然后插入

        // 删除元素  直接把后面的元素往前面移动

        // 遍历数组
        for (int n : num3) {
            System.out.println(n);
        }

        System.out.println("========扩容之前的=======");
        for (int i = 0; i < num3.length; i++) {
            System.out.println(num3[i]);
        }

        // 查找元素值
        for (int i = 0; i < num3.length; i++) {
            if (num3[i] == 3) {
                System.out.println(i);
                break;
            }
        }

        // 扩容数组  比如说现在需要将num3变成长度为10,先创建一个长度为10的数组，然后将之前数组的元素放进去
        int[] newNums = new int[10];
        for (int i = 0; i < num3.length; i++) {
            newNums[i] = num3[i];
        }
        num3 = newNums;

        System.out.println("========扩容之后的=======");
        for (int n : num3) {
            System.out.println(n);
        }

    }
}
